#define _CRT_SECURE_NO_WARNINGS

#include"Heap.h"

//void test1()
//{
//	int arr[] = { 27, 39, 18, 5, 9, 32 };
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	Heap hp;
//	HeapCreate(&hp, arr, sz);
//	HeapPush(&hp, 57);
//
//	for (int i = 0; i < hp._size; i++)
//	{
//		printf("%d ", hp._a[i]);
//	}
//	printf("\n");
//
//	HeapPop(&hp);
//	
//	for (int i = 0; i < hp._size; i++)
//	{
//		printf("%d ", hp._a[i]);
//	}
//
//
//	printf("\n");
//	HeapDestory(&hp);
//}

//void HeapSortTest()
//{
//	int arr[] = { 2,4,1,5,6,3,8,7,10,9 };
//	int sz = sizeof(arr) / sizeof(arr[0]);
//
//	HeapSort(arr, sz);
//	for (int i = 0; i < sz; i++)
//	{
//		printf("%d ", arr[i]);
//	}
//	
//	printf("\n");
//}


void TestTopk()
{
	int n = 10000;
	int* a = (int*)malloc(sizeof(int) * n);
	srand((size_t)time(0));
	for (size_t i = 0; i < (size_t)n; ++i)
	{
		a[i] = rand() % 1000000;
	}
	a[5] = 1000000 + 1;
	a[1231] = 1000000 + 2;
	a[531] = 1000000 + 3;
	a[5121] = 1000000 + 4;
	a[115] = 1000000 + 5;
	a[2335] = 1000000 + 6;
	a[9999] = 1000000 + 7;
	a[76] = 1000000 + 8;
	a[423] = 1000000 + 9;
	a[3144] = 1000000 + 10;
	PrintTopK(a, n, 10);
}


int main()
{
	//test1();
	
	//HeapSortTest();

	TestTopk();
	return 0;
}